home *** CD-ROM | disk | FTP | other *** search
- /* */
-
- #ifndef HTHISTORY_H
- #define HTHISTORY_H
-
- #include "HTAnchor.h"
-
- #ifdef SHORT_NAMES
- #define HTHistory_record HTHiReco
- #define HTHistory_backtrack HTHiBack
- #define HTHistory_canBacktrack HTHiCaBa
- #define HTHistory_moveBy HTHiMoBy
- #define HTHistory_canMoveBy HTHiCaMo
- #define HTHistory_read HTHiRead
- #define HTHistory_recall HTHiReca
- #define HTHistory_count HTHiCoun
- #define HTHistory_leavingFrom HTHiLeFr
- #endif
-
- /* Navigation
- ** ==========
- */
-
- /* Record the jump to an anchor
- ** ----------------------------
- */
-
- extern void HTHistory_record
- PARAMS(
- (HTAnchor * destination)
- );
-
- /* Go back in history (find the last visited node)
- ** ------------------
- */
-
- extern HTAnchor * HTHistory_backtrack
- NOPARAMS; /* FIXME: Should we add a `sticky' option ? */
-
- extern BOOL HTHistory_canBacktrack
- NOPARAMS;
-
- /* Browse through references in the same parent node
- ** -------------------------------------------------
- **
- ** Take the n-th child's link after or before the one we took to get here.
- ** Positive offset means go towards most recently added children.
- */
-
- extern HTAnchor * HTHistory_moveBy
- PARAMS(
- (int offset)
- );
-
- extern BOOL HTHistory_canMoveBy
- PARAMS(
- (int offset)
- );
-
- #define HTHistory_next (HTHistory_moveBy (+1))
- #define HTHistory_canNext (HTHistory_canMoveBy (+1))
- #define HTHistory_previous (HTHistory_moveBy (-1))
- #define HTHistory_canPrevious (HTHistory_canMoveBy (-1))
-
-
- /* Retrieval
- ** =========
- */
-
- /* Read numbered visited anchor (1 is the oldest)
- ** ----------------------------
- */
-
- extern HTAnchor * HTHistory_read
- PARAMS(
- (int number)
- );
-
- /* Recall numbered visited anchor (1 is the oldest)
- ** ------------------------------
- ** This reads the anchor and stores it again in the list, except if last.
- */
-
- extern HTAnchor * HTHistory_recall
- PARAMS(
- (int number)
- );
-
- /* Number of Anchors stored
- ** ------------------------
- **
- ** This is needed in order to check the validity of certain commands
- ** for menus, etc.
- (not needed for now. Use canBacktrack, etc.)
- extern int HTHistory_count NOPARAMS;
- */
-
- /* Change last history entry
- ** -------------------------
- **
- ** Sometimes we load a node by one anchor but leave by a different
- ** one, and it is the one we left from which we want to remember.
- */
- extern void HTHistory_leavingFrom
- PARAMS(
- (HTAnchor * anchor)
- );
-
- #endif /* HTHISTORY_H */
- /*
-
- */
-